# -*- coding: utf-8 -*-
# Created by shu2015626 on 2019-7-3
"""
celery的定时任务。
根据传入的
"""
from celery import shared_task


@shared_task(bind=True, name="import.common_tasks_compile")
def common_task_compile(self, business_path, task_cls_name):
    with open(file_path, 'r') as f:
        # 编译py文件的中的代码
        bytes_code = compile(f.read(), '', 'exec')
        # 执行代码对象，将其中的类加载到globals()中。
        exec(bytes_code, globals())
        # 执行具体的任务
        cls = globals()[task_cls_name]
        ret = cls().run()
        # 将对象删除
        del globals()[task_cls_name]
    return ret